<template>
	<view class="public-friendlistcheck">
		<!-- 好用列表用来选中好友 -->
		<view class="public-friendlistcheck-header u-flex">
			<view class="public-friendlistcheck-header-left" @click="friendClose()">
				取消
			</view>
			<view class="public-friendlistcheck-header-main">
				好友列表
			</view>
			<view class="public-friendlistcheck-header-right">

			</view>
		</view>
		<scroll-view scroll-y="true" class="public-friendlistcheck-list" v-if="list.length != 0">
			<view class="public-friendlistcheck-list-item u-flex" @click="checkItem(item)" v-for="(item, index) in list"
				:key="index">
				<view class="public-friendlistcheck-list-item-left">
					<image src="https://zaiyiqi-1322608024.cos.ap-nanjing.myqcloud.com/static/img/demo.png" mode=""></image>
				</view>
				<view class="public-friendlistcheck-list-item-main">
					{{ item.name }}
					<image v-if="item.sex" src="https://zaiyiqi-1322608024.cos.ap-nanjing.myqcloud.com/static/img/girl.png" mode=""></image>
					<image v-else src="https://zaiyiqi-1322608024.cos.ap-nanjing.myqcloud.com/static/img/boy.png" mode=""></image>
				</view>
				<view class="public-friendlistcheck-list-item-right">
					<image v-if="(checkIds.filter(d => d == item.id).length) != 0"
						src="https://zaiyiqi-1322608024.cos.ap-nanjing.myqcloud.com/static/img/index/psonaldetail/ta-check.png" mode="">
					</image>
					<image v-else src="https://zaiyiqi-1322608024.cos.ap-nanjing.myqcloud.com/static/img/index/psonaldetail/ta-check-def.png" mode=""></image>
				</view>
			</view>
		</scroll-view>
		<view class="public-friendlistcheck-btn u-flex" v-if="list.length != 0">
			<view class="public-friendlistcheck-btn-left u-flex" @click="checkAll()">
				<image v-if="checkIds.length == list.length" src="https://zaiyiqi-1322608024.cos.ap-nanjing.myqcloud.com/static/img/index/psonaldetail/ta-check.png" mode="">
				</image>
				<image v-else src="https://zaiyiqi-1322608024.cos.ap-nanjing.myqcloud.com/static/img/index/psonaldetail/ta-check-def.png" mode=""></image>
				<view class="">
					全选
				</view>
			</view>
			<view class="public-friendlistcheck-btn-right">
				<view class="btns">
					<image class="btns-img" src="https://zaiyiqi-1322608024.cos.ap-nanjing.myqcloud.com/static/img/btn/176x64.png" mode=""></image>
					<view class="btns-con" @click="submit()">
						确定
					</view>
				</view>
			</view>
		</view>
		<view class="nodata" v-if="list.length == 0">
			<image src="https://zaiyiqi-1322608024.cos.ap-nanjing.myqcloud.com/static/img/nodata.png" mode=""></image>
			<view class="nodata-text">暂时还没好友哦～</view>
		</view>
	</view>
</template>

<script>
// 这里可以导入其他文件（比如：组件，工具js，第三方插件js，json文件，图片文件等等）
export default {
	// 组件名称
	name: 'demo',
	// 组件参数 接收来自父组件的数据
	props: {},
	// 局部注册的组件,import引入的组件需要注入到对象中才能使用
	components: {},
	// 组件状态值
	data() {
		return {
			checkIds: [],
			list: [
				// {
				// 	id: 0,
				// 	name: "用户名称1",
				// 	sex: 0
				// }, {
				// 	id: 1,
				// 	name: "用户名称2",
				// 	sex: 1
				// }, {
				// 	id: 2,
				// 	name: "用户名称3",
				// 	sex: 0
				// }, {
				// 	id: 3,
				// 	name: "用户名称4",
				// 	sex: 1
				// }, {
				// 	id: 4,
				// 	name: "用户名称5",
				// 	sex: 0
				// }, {
				// 	id: 5,
				// 	name: "用户名称5",
				// 	sex: 0
				// }
			]
		}
	},
	// 计算属性
	computed: {},
	// 侦听器
	watch: {},
	// 组件方法
	methods: {
		getList() {
			this.$http('apply.FriendList').then(res => {
				// this.list = res.data.data
			})
		},
		checkItem(item) {
			let i = this.checkIds.findIndex(d =>
				d == item.id
			)
			if (i == -1) {
				this.checkIds.push(item.id)
			} else {
				this.checkIds.splice(i, 1)
			}
		},
		checkAll() {
			if (this.checkIds.length == this.list.length) {
				this.checkIds = []
			} else {
				this.checkIds = []
				for (var i = 0; i < this.list.length; i++) {
					this.checkIds.push(this.list[i].id)
				}
			}
		},
		friendClose(){
			this.$emit('friendClose')
		},
		submit() {

			let val = {
				name: '',
				friend: this.checkIds
			}
			this.list.filter(e => {
				if (this.checkIds[0] == e.id) {
					console.log(e.name)
					val.name = e.name
				}
			})

			this.$emit("getFriendId", JSON.stringify(val))
		}
	},
	// 以下是生命周期钩子   注：没用到的钩子请自行删除
	/**
	 * 在实例初始化之后，组件属性计算之前，如data属性等
	 */
	beforeCreate() { },
	/**
	 * 组件实例创建完成，属性已绑定，但DOM还未生成，$ el属性还不存在
	 */
	created() {
		this.getList()
	},
	/**
	 * 在挂载开始之前被调用：相关的 render 函数首次被调用。
	 */
	beforeMount() { },
	/**
	 * el 被新创建的 vm.$ el 替换，并挂载到实例上去之后调用该钩子。
	 * 如果 root 实例挂载了一个文档内元素，当 mounted 被调用时 vm.$ el 也在文档内。
	 */
	mounted() { },
	/**
	 * 数据更新时调用，发生在虚拟 DOM 重新渲染和打补丁之前。
	 * 你可以在这个钩子中进一步地更改状态，这不会触发附加的重渲染过程。
	 */
	beforeUpdate() { },
	/**
	 * 由于数据更改导致的虚拟 DOM 重新渲染和打补丁，在这之后会调用该钩子。
	 * 当这个钩子被调用时，组件 DOM 已经更新，所以你现在可以执行依赖于 DOM 的操作。
	 */
	updated() { },
	/**
	 * keep-alive 组件激活时调用。 仅针对keep-alive 组件有效
	 */
	activated() { },
	/**
	 * keep-alive 组件停用时调用。 仅针对keep-alive 组件有效
	 */
	deactivated() { },
	/**
	 * 实例销毁之前调用。在这一步，实例仍然完全可用。
	 */
	beforeDestroy() { },
	/**
	 * Vue 实例销毁后调用。调用后，Vue 实例指示的所有东西都会解绑定，
	 * 所有的事件监听器会被移除，所有的子实例也会被销毁。
	 */
	destroyed() { }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<!--使用了scoped属性之后，父组件的style样式将不会渗透到子组件中，-->
<!--然而子组件的根节点元素会同时被设置了scoped的父css样式和设置了scoped的子css样式影响，-->
<style scoped lang="scss">
.public-friendlistcheck {

	&-header {
		height: 120rpx;
		padding: 0 32rpx;

		&-left {
			font-size: 28rpx;
			font-family: PingFang SC-Medium, PingFang SC;
			font-weight: 400;
			color: #000000;
			width: 280rpx;
		}

		&-main {
			flex: 1;
			font-size: 28rpx;
			font-family: PingFang SC-Medium, PingFang SC;
			font-weight: 400;
			color: #000000;
		}

		&-right {
			width: 280rpx;
		}
	}

	&-list {
		height: 800rpx;
		padding: 0 32rpx;
		width: calc(100% - 64rpx);

		&-item {
			margin-bottom: 40rpx;

			&-left {
				image {
					width: 76rpx;
					height: 76rpx;
					border-radius: 50%;
					margin-right: 20rpx;
					display: block;
				}
			}

			&-main {
				flex: 1;
				display: flex;
				align-items: center;

				image {
					margin-left: 20rpx;
					width: 36rpx;
					height: 28rpx;
					display: block;
				}
			}

			&-right {
				image {
					width: 32rpx;
					height: 32rpx;
				}
			}
		}
	}

	&-btn {
		justify-content: space-between;
		// padding-bottom: 60rpx;
		border-top: solid 1rpx #f5f5f5FF;
		padding: 8rpx 32rpx;
		padding-bottom: calc(8rpx + constant(safe-area-inset-bottom));
		padding-bottom: calc(8rpx + env(safe-area-inset-bottom));

		// padding: 0 32rpx;
		&-left {
			font-size: 28rpx;
			font-family: PingFang SC-Medium, PingFang SC;
			color: #2E3033;
			font-weight: 400;

			image {
				width: 32rpx;
				height: 32rpx;
				display: block;
				margin-right: 16rpx;
			}
		}

		&-right {
			.btns {
				width: 176rpx;
				height: 64rpx;
				position: relative;

				&-img {
					width: 100%;
					height: 100%;
				}

				&-con {
					width: 100%;
					height: 100%;
					position: absolute;
					top: 0;
					left: 0;
					font-size: 28rpx;
					font-family: PingFang SC, PingFang SC;
					font-weight: 400;
					color: #FAFCFF;
					line-height: 64rpx;
					text-align: center;
				}
			}
		}
	}

	.nodata {
		padding: 200rpx 0;
		image{
			width: 240rpx;
			height: 200rpx;
			display: block;
			margin: 0 auto;
		}
		&-text {
			font-size: 28rpx;
			font-family: PingFang SC, PingFang SC;
			font-weight: 400;
			color: #2E3033;
			margin-top: 32rpx;
			text-align: center;
		}
	}
}
</style>
